<?php
/**
 * 管理中心· 公共模块的逻辑处理
 * ============================================================================
 * 版权所有 2017-2020 北京优特世纪科技有限公司，并保留所有权利。
 * 网站地址: http://www.unitewww.com;
 * ============================================================================
 * 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用；
 * 不允许对程序代码以任何形式任何目的的再发布。
 * ============================================================================
 * @since: 1.0
 * @version: 1.0
 **/
namespace Hoteladmin\Controller;
use Think\Controller;
class BaseController extends Controller {
	/**
	+--------------------------------------------------------------------------
	* 初始化操作
	+--------------------------------------------------------------------------
	*/
    public function _initialize(){
    	header('Content-Type:text/html; charset=utf-8');
    	// 获取当前用户ID
    	define('AID',is_login('admin_auth', 'admin_auth_sign'));
    	if(!AID){// 还没登录 跳转到登录页面
    	    $this->redirect('Hoteladmin/Login/login');
    	}
        //检查管理员菜单操作权限
    	if('1'!=session('admin_auth.usid')){
    	    $this->check_priv();
    	}
    }
    /**
     +--------------------------------------------------------------------------
     * 检查管理员菜单操作权限
     * @author: XC跃
     * @date :2018-09-28
     +--------------------------------------------------------------------------
     */
    public function check_priv()
    {
        $ctl = CONTROLLER_NAME;
        $act = ACTION_NAME;
        //echo $act;
        $act_list = session('admin_auth.usrole');
        //echo $act_list;
        //无需验证的操作
        $uneed_check = array('login','logout','vertify','check_verify','vertify_code','uploadImg');
        if($ctl == 'Index'){
            //后台首页控制器无需验证,超级管理员无需验证
            return true;
        }elseif(strpos('ajax',$act) || in_array($act,$uneed_check)){
            //所有ajax请求不需要验证权限
            return true;
        }else{
            $right = M('menu')->where("me_id in ($act_list)")->cache(true)->getField('me_right',true);
            foreach ($right as $val){
                $role_right .= $val.',';
            }
            $role_right = explode(',', $role_right);
            //检查是否拥有此操作权限
            if(!in_array($ctl.'Controller@'.$act, $role_right)){
                $this->error('您没有操作权限,请联系管理员分配权限',U('Index/welcome'));
            }
        }
    }
    
    /**
     +--------------------------------------------------------------------------
     * 实现单张图片的上传功能
     * @author:  XC跃
     * @date :2018-09-28
     +--------------------------------------------------------------------------
     */
    public function uploadify(){
    	//接收值
    	$file = I('get.id');
    	//echo $file;die;
    	if (!empty($_FILES)) {
    		$upload = new \Think\Upload();// 实例化上传类
    		$upload->maxSize  = 3145728 ;// 设置附件上传大小
    		$upload->exts     = array('jpg', 'gif', 'png', 'jpeg','zip','htm');// 设置附件上传类型
    		$upload->rootPath = './Public/Uploads/'; // 设置附件上传根目录
    		$upload->subName  = array('','');
    		$upload->savePath = $file; // 设置附件上传（子）目录
    		// 上传文件
    		$info = $upload->upload();
    		if(!$info) {// 上传错误提示错误信息
    			echo $upload->getError();
    		}else{// 上传成功
    			//var_dump($info);
    			echo $info['Filedata']['savepath'].$info['Filedata']['savename'];
    			//返回文件地址和名给JS作回调用
    		}
    	}
    }
}